Dus ik heb wat problemen met het uitzoeken van het juiste gebruik van list :: sort () met betrekking tot een lijst met structs. Hier is de relevante code: struct student { char firstnm [20], lastnm [20]; int id, rang; }; lijstsList; // Irrelevante code ... cout << "Voer uw eigen naam, id en cijfer in. (Ex: myfirst mylast 0 12) \ n"; cin >> data.firstnm >> data.lastnm >> data.id >> data.grade; sList.push_back (gegevens); sList.sort (); Het probleem dat ik probeer op te lossen, is het gebruik van sList.sort () om op id te sorteren. Ik heb echter geen idee hoe ik het correct in list :: sort () moet doorgeven. Bij voorbaat dank voor alle hulp / tijd! EDIT: De oplossing was dit simpelweg toe te voegen aan mijn struct bool-operator <(const student & cmp) const { retourneer id
2021-01-22 08:20:26
Je moet std :: sort eens bekijken. (https://en.cppreference.com/w/cpp/algorithm/sort) Er zijn meerdere definities van die functie, en een waar je kunt specificeren wat je wilt sorteren. Kijk ook eens naar dat bericht, ik denk dat het is wat je nodig hebt: https://stackoverflow.com/a/21234017/6663947 Bewerk : dat is een voorbeeld van comparator: sList.sort ([] (const student & a, const student & b) {return a.idongeldige sortering (vergelijk comp); Ervan uitgaande dat u de studentobjecten in uw lijst wilt sorteren op de sleutel-id in oplopende volgorde. U kunt operator